package com.tpay.client;

import com.gwtplatform.dispatch.shared.ActionException;
import com.gwtplatform.dispatch.shared.ServiceException;
import com.smartgwt.client.util.SC;

public class G {
	public static DeviceType DEVICE_TYPE = DeviceType.Desktop;
	
	public static void ShowMessage(String message) {
		ShowMessage(message, null, 0);
	}
	
	public static void ShowMessage(String message, boolean warning) {
		ShowMessage(message, null, 1);
	}
	
	public static void ShowMessage(Throwable caught) {
		if(caught instanceof ActionException) {
			// 서버에서 받은 오류
			Throwable inner = caught.getCause();
			
			if(inner == null) 
				ShowMessage(caught.getMessage(), null, 2);
			else
				ShowMessage(caught.getMessage(), inner.getMessage(), 2);
		} else {
			ShowMessage(caught.getMessage(), null, 2);
		}
	}
	
	/**
	 * 
	 * @param message
	 * @param detailMesage
	 * @param messageType 0:일반메세지 1:경고 2:오류
	 */
	private static void ShowMessage(String message, String detailMesage, int messageType) {
		if(DEVICE_TYPE == DeviceType.Desktop) {
			// TODO 나중에 메세지를 띄워주는 팝업창으로 코드를 바꿔야 한다.  
			if(messageType == 0) 
				SC.say("정보", message);
			else if(messageType == 1) 
				SC.say("경고", message);
			else if(messageType == 2)
				SC.say("오류", message);
		}
	}
	
}
